草庐IT

PHP readdir 和排序

全部标签

mysql - 在 rails 中生成数据的单元测试中按 created_at 排序

我有一些代码基本上显示了在给定表中所做的最后一个x(变量,但假设这里x为20)更新。在它的一个单元测试中,我有这个片段:EditedItem.push_to_queue(hiddennow)#createsomenewentriesandsavethem20.times{EditedItem.push_to_queue(random_item)}Queue.get_entries.each{|entry|assert_not_equaltoo_far_down,entry}可能漂亮也可能不漂亮,但它传达了意图。hiddennow对象在队列中被推得太远,调用get_entries时不应再

mysql - 当我的整个应用程序都使用 UTF-8 时,我应该使用哪种排序规则?

我正在使用最新版本的MySQL。默认情况下,我得到latin1_swedish_ci,这听起来不太正确。 最佳答案 你应该使用utf8_general_ci这里是afulllistofthecharactersetsandtheirdescriptions来自MySQL引用站点。 关于mysql-当我的整个应用程序都使用UTF-8时,我应该使用哪种排序规则?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

mysql - 根据另一个表中的行数对mysql表进行排序

我正在尝试根据他们在辅助评论表中链接到他们的评论数量对用户表进行排序,我认为子选择将是最好的工具,但我无法获得正确的语法。用户表测试数据:id|user_id1|10002|10013|1002注释表测试数据id|link_id1|10022|10003|10024|10005|10026|10017|10008|1002第一个表中的预期排序结果为:id|user_id3|10021|10002|1001任何朝着正确方向的插入都会非常有帮助,谢谢!=) 最佳答案 其实没有必要使用子查询。您可以使用JOIN和ORDERBY计数:SEL

php - MySQL - 按字符数排序

我有最简单的SQLSELECT*FROMwords它有13000个单词(varchar)。我需要在我的输出中首先获得最长的单词。我想这可能与WHERE命令有关?备选如果它不能那样工作,是否有一种聪明的方法来对我的输出数组进行排序,以便它首先按最长的单词排序(在“单词”列中)。看起来像这样(在输出循环中)?$output_array[$row['word']]=$row['another_word']; 最佳答案 按单词的长度排序应该可以:SELECT*FROMwordsORDERBYLENGTH(word)DESC

sql - 根据匹配条件对 SQL 记录进行排序

我有这个问题:SELECT*FROMtableWHEREkeyLIKE'1,2,3,%'ORkeyLIKE'1,2,%'ORkeyLIKE'1,%'是否可以根据最先匹配的条件对从该查询返回的记录进行排序。我想首先获取匹配keyLIKE'1,2,3,%'的所有记录,然后是keyLIKE'1,2,%'和其他之后。例如,如果我有这些记录:key:"1,2,3,4"key:"1,2,5"key:"1,4"key:"1,2,5,6"key:"1,3"key:"1,2,3,4,7"key:"1,2,4"我希望它们像这样排序:key:"1,2,3,4"key:"1,2,3,4,7"key:"1,2,

php - 按 'most relevent' 排序结果 - MYSQL 和 PHP

我以前从未真正考虑过这个问题,想知道是否有人对实现“相关结果”的最佳实践有任何建议或意见。在我的例子中,我正在运行一个搜索查询,其中包括跨5个字段的全文搜索、地理径向查找和一些基本比较。对于这个例子,我可以优先考虑我最感兴趣的字段..在寻找关键词X按地理查找过滤结果。如果在“基本比较”中找到关键字,那么这些结果应该排在第一位。如果在“完整关键字搜索”中找到关键字,则跟进结果。最好的方法是将PHP结果数组,将其转换为一个对象,然后在显示之前进行比较和排序吗? 最佳答案 你可以尝试使用Sphinx

mysql - 按 MySQL 中的混合字母数字列排序

我的行中有以下值(它们应该这样排序);**CLASS_CODE**6A6B6C10A10B10C好吧,如果我执行一个简单的ORDERBYCLASS_CODE,我将首先获得10倍的值,然后是6倍的值。所以我使用ORDERBY(CLASS_CODE+0),这对它们进行了正确的排序,因此6x排在第一位,但它也没有根据字符对它们进行排序。正确的订购方式是什么,这样我才能获得如上所示的正确订单? 最佳答案 只要在字段值的末尾只使用一个字母,就可以使用以下内容:ORDERBY(class_code+0),right(class_code,1)

php - MYSQL排序函数,根据数据库字段值作为数组键进行算术运算

我有产品表,其中有2个字段:价格、货币。货币字段中的可能值为1、2、3。MDL1个,美元2个,欧元3个。我必须按mdl货币的价格对我的产品进行排序。所以我有一个包含比率的数组:$v=array(1,11.38,15.8);请帮助我查询,我已经尝试过类似的操作,但我遇到了错误:$results=$this->Product->query("SELECT`id`,`price`,`currency`FROMproductsORDERBYprice*$v[currency]DESC");嗯...我会尝试通过一个例子来解释。我的table:id|price|currency__________

mysql - 排序依据,在末尾放置 0,同时保持升序搜索顺序

我有一个使用ORDERBYASC的查询,因此首先出现0。我希望他们最后出现,同时仍保持升序搜索顺序。我怎样才能做到这一点?这方面的一个例子是:SELECTproduct_priceORDERBYproduct_priceASC所以代替0123我愿意1230 最佳答案 我没有MySQL可以测试,但这适用于SQLServer和Advantage数据库服务器:SELECTproduct_priceORDERBYCASEproduct_priceWHEN0then99999999ELSEproduct_priceEND将99999999系列

mysql - 如何在mysql中按时间戳排序?

SELECT*FROMtableORDERBYtimestamp;当我尝试按时间戳对记录进行排序时,我得到以下顺序08/20/201202:09:39PM08/20/201203:19:08PM08/20/201209:04:24AM08/20/201209:05:25AM如何更改查询以使记录从上午到下午排序? 最佳答案 问题是您的时间戳字符串表示形式不是规范格式,也就是说,对字符串值进行排序不会按时间戳顺序排序。要按顺序对行进行排序,您可以将值的字符表示转换为DATETIME或TIMESTAMP数据类型,或者至少转换为规范格式的字